<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      <title>GTL - Graph Template Library: symlist&lt; T &gt; Class Template Reference</title>
      <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <p class="links">  
      <a href="../index.html">Home</a> |
      Documentation |
      <a href="../register.html">Download</a> |
      <a href="../platforms.html">Platforms</a> |
      <a href="../refer.html">Projects</a> |      
      <a href="../lists.html">Mailing Lists</a> |
      <a href="../history.html">Version History</a>
    </p>

<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>symlist&lt; T &gt; Class Template Reference</h1><!-- doxytag: class="symlist" -->List which can be reversed in <img class="formulaInl" alt="$\mathcal{O}(1)$" src="form_7.png">.  
<a href="#_details">More...</a>
<p>

<p>
<a href="a00204.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="678dc0ddb02994195a2359a361ee0ea6"></a><!-- doxytag: member="symlist::symlist" ref="678dc0ddb02994195a2359a361ee0ea6" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#678dc0ddb02994195a2359a361ee0ea6">symlist</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates empty <a class="el" href="a00027.html" title="List which can be reversed in .">symlist</a>. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#5c17d54592dac03b2c4d940a10153797">symlist</a> (const <a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp;li)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the created list a copy of <code>li</code>.  <a href="#5c17d54592dac03b2c4d940a10153797"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#ab326eda0f6d3a78f193a249342670bc">operator=</a> (const <a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp;li)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignes <code>li</code> to this list.  <a href="#ab326eda0f6d3a78f193a249342670bc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="45c3a0b7f0e996998037fb876effefd4"></a><!-- doxytag: member="symlist::~symlist" ref="45c3a0b7f0e996998037fb876effefd4" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#45c3a0b7f0e996998037fb876effefd4">~symlist</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a09d7b1edcb879524dd200cecf7f5f72">empty</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks whether list is empty.  <a href="#a09d7b1edcb879524dd200cecf7f5f72"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#fd4b55616fc20033d4a47684551866e8">front</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">First element in list.  <a href="#fd4b55616fc20033d4a47684551866e8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#bc0570ff78ded9210ac26865519d36e3">back</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Last element in list.  <a href="#bc0570ff78ded9210ac26865519d36e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#525b8d44af5d771fe15916372515cce0">begin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration through elements of list.  <a href="#525b8d44af5d771fe15916372515cce0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#7283589fa01f79d722f8256d7a6a7883">end</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of iteration through elements of list.  <a href="#7283589fa01f79d722f8256d7a6a7883"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#7c714327f88430cb7caeb1ecd67afd95">begin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration through elements of list.  <a href="#7c714327f88430cb7caeb1ecd67afd95"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#e7435efb58eeacee68c0268332ed1b0e">end</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of iteration through elements of list.  <a href="#e7435efb58eeacee68c0268332ed1b0e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#e5250e0c0c2bedee285f72584ddce29d">rbegin</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration through element of list in reverse order.  <a href="#e5250e0c0c2bedee285f72584ddce29d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#421fc482e62f257a9081e9e1c29d66a6">rend</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of iteration through elements of list in reverse order.  <a href="#421fc482e62f257a9081e9e1c29d66a6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#52e8efa766be554f4a5a788758c8b2e9">rbegin</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Start iteration through element of list in reverse order.  <a href="#52e8efa766be554f4a5a788758c8b2e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#a33168957d1316726012faa6b01fb9d2">rend</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End of iteration through elements of list in reverse order.  <a href="#a33168957d1316726012faa6b01fb9d2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#8a54cb9a00643d32c91a3b303140abb9">insert</a> (iterator pos, const T &amp;data)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts <code>data</code> before <code>pos</code> in list.  <a href="#8a54cb9a00643d32c91a3b303140abb9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#c2bd4d9db62ea6a3282662c62a97c3b2">splice</a> (iterator pos, iterator it)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts the element <code>it</code> points to before <code>pos</code> into this list.  <a href="#c2bd4d9db62ea6a3282662c62a97c3b2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#27889c85e97c1e8dec7a871987a12b29">splice</a> (iterator pos, iterator it, iterator end)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inserts the elements <code>[it,end)</code> refers to before <code>pos</code> into this list.  <a href="#27889c85e97c1e8dec7a871987a12b29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#75fc1fc7db7b20cc430ddb8577608904">erase</a> (iterator pos)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes element at position <code>pos</code> from list.  <a href="#75fc1fc7db7b20cc430ddb8577608904"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#53128defa9aedb016affcfa27bf201da">erase</a> (iterator it, iterator end)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the elements <code>[it, end)</code> from list.  <a href="#53128defa9aedb016affcfa27bf201da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00027.html#e22b65101604c694e96974cc9579ab78">reverse</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the direction of list.  <a href="#e22b65101604c694e96974cc9579ab78"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class T&gt;<br>
 class symlist&lt; T &gt;</h3>

List which can be reversed in <img class="formulaInl" alt="$\mathcal{O}(1)$" src="form_7.png">. 
<p>
The problem with the STL class list - as with most doubly linked lists -- is that isn't possible to turn it in constant time, because each entry in the list contains next and prev pointer and turning the list means to switch these two in <em>each</em> element in the list. Another point is the splice operation in STL lists, which is constant time, but for the same reason as mentioned above it is not possible to splice a list in reverse order into another in constant time. <p>
The problems arise from the fact that each element "knows" what its next and previous elements are. An element in a <a class="el" href="a00027.html" title="List which can be reversed in .">symlist</a> only knows what its neighbors are, what is next and what previous depends on the direction of iteration. This of course imposes some overhead in iteration (one if-statement) but allows reversion and a splice in reversed order in constant time. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="5c17d54592dac03b2c4d940a10153797"></a><!-- doxytag: member="symlist::symlist" ref="5c17d54592dac03b2c4d940a10153797" args="(const symlist&lt; T &gt; &amp;li)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00027.html">symlist</a>&lt; T &gt;::<a class="el" href="a00027.html">symlist</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>li</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Makes the created list a copy of <code>li</code>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>li</em>&nbsp;</td><td><a class="el" href="a00027.html" title="List which can be reversed in .">symlist</a>. </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="ab326eda0f6d3a78f193a249342670bc"></a><!-- doxytag: member="symlist::operator=" ref="ab326eda0f6d3a78f193a249342670bc" args="(const symlist&lt; T &gt; &amp;li)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp; <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00027.html">symlist</a>&lt; T &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>li</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assignes <code>li</code> to this list. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>All elements in this list will be deleted.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>li</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>this list </dd></dl>

</div>
</div><p>
<a class="anchor" name="a09d7b1edcb879524dd200cecf7f5f72"></a><!-- doxytag: member="symlist::empty" ref="a09d7b1edcb879524dd200cecf7f5f72" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::empty           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Checks whether list is empty. 
<p>
Takes constant time.<p>
<dl compact><dt><b>Return values:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>true</em>&nbsp;</td><td>iff list is empty </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="fd4b55616fc20033d4a47684551866e8"></a><!-- doxytag: member="symlist::front" ref="fd4b55616fc20033d4a47684551866e8" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::front           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
First element in list. 
<p>
Assumes that list ins't empty.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>first element </dd></dl>

</div>
</div><p>
<a class="anchor" name="bc0570ff78ded9210ac26865519d36e3"></a><!-- doxytag: member="symlist::back" ref="bc0570ff78ded9210ac26865519d36e3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::back           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Last element in list. 
<p>
Assumes that list ins't empty.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>last element </dd></dl>

</div>
</div><p>
<a class="anchor" name="525b8d44af5d771fe15916372515cce0"></a><!-- doxytag: member="symlist::begin" ref="525b8d44af5d771fe15916372515cce0" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration through elements of list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="7283589fa01f79d722f8256d7a6a7883"></a><!-- doxytag: member="symlist::end" ref="7283589fa01f79d722f8256d7a6a7883" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End of iteration through elements of list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="7c714327f88430cb7caeb1ecd67afd95"></a><!-- doxytag: member="symlist::begin" ref="7c714327f88430cb7caeb1ecd67afd95" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration through elements of list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="e7435efb58eeacee68c0268332ed1b0e"></a><!-- doxytag: member="symlist::end" ref="e7435efb58eeacee68c0268332ed1b0e" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End of iteration through elements of list. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="e5250e0c0c2bedee285f72584ddce29d"></a><!-- doxytag: member="symlist::rbegin" ref="e5250e0c0c2bedee285f72584ddce29d" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::rbegin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration through element of list in reverse order. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="421fc482e62f257a9081e9e1c29d66a6"></a><!-- doxytag: member="symlist::rend" ref="421fc482e62f257a9081e9e1c29d66a6" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::rend           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End of iteration through elements of list in reverse order. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="52e8efa766be554f4a5a788758c8b2e9"></a><!-- doxytag: member="symlist::rbegin" ref="52e8efa766be554f4a5a788758c8b2e9" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::rbegin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iteration through element of list in reverse order. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="a33168957d1316726012faa6b01fb9d2"></a><!-- doxytag: member="symlist::rend" ref="a33168957d1316726012faa6b01fb9d2" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const_iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::rend           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
End of iteration through elements of list in reverse order. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end iterator </dd></dl>

</div>
</div><p>
<a class="anchor" name="8a54cb9a00643d32c91a3b303140abb9"></a><!-- doxytag: member="symlist::insert" ref="8a54cb9a00643d32c91a3b303140abb9" args="(iterator pos, const T &amp;data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::insert           </td>
          <td>(</td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts <code>data</code> before <code>pos</code> in list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>element to be inserted</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>position of insertion </dd></dl>

</div>
</div><p>
<a class="anchor" name="c2bd4d9db62ea6a3282662c62a97c3b2"></a><!-- doxytag: member="symlist::splice" ref="c2bd4d9db62ea6a3282662c62a97c3b2" args="(iterator pos, iterator it)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::splice           </td>
          <td>(</td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>it</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts the element <code>it</code> points to before <code>pos</code> into this list. 
<p>
It is assumed that the element <code>it</code> refers lies in a different list. All iterators to elements in either of the two lists stay valid. Takes constant time.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>it</em>&nbsp;</td><td>position of element to be inserted </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="27889c85e97c1e8dec7a871987a12b29"></a><!-- doxytag: member="symlist::splice" ref="27889c85e97c1e8dec7a871987a12b29" args="(iterator pos, iterator it, iterator end)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::splice           </td>
          <td>(</td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>it</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inserts the elements <code>[it,end)</code> refers to before <code>pos</code> into this list. 
<p>
It is assumed that <code>[it,end)</code> lies in a different list. All iterators to elements in either of the two lists stay valid. Takes constant time.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>it</em>&nbsp;</td><td>position of first element to be inserted </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>position of one-past the last element to be inserted </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="75fc1fc7db7b20cc430ddb8577608904"></a><!-- doxytag: member="symlist::erase" ref="75fc1fc7db7b20cc430ddb8577608904" args="(iterator pos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::erase           </td>
          <td>(</td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>pos</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deletes element at position <code>pos</code> from list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position to be deleted</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>position of next element </dd></dl>

</div>
</div><p>
<a class="anchor" name="53128defa9aedb016affcfa27bf201da"></a><!-- doxytag: member="symlist::erase" ref="53128defa9aedb016affcfa27bf201da" args="(iterator it, iterator end)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">iterator <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::erase           </td>
          <td>(</td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>it</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">iterator&nbsp;</td>
          <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deletes the elements <code>[it, end)</code> from list. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>it</em>&nbsp;</td><td>first position to be deleted </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>one-past the last position to be deleted</td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>position of next element. </dd></dl>

</div>
</div><p>
<a class="anchor" name="e22b65101604c694e96974cc9579ab78"></a><!-- doxytag: member="symlist::reverse" ref="e22b65101604c694e96974cc9579ab78" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00027.html">symlist</a>&lt; T &gt;::reverse           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change the direction of list. 
<p>
Takes constant time. 
</div>
</div><p>
    <p class="links">
      <a href="http://www.uni-passau.de/">University of Passau</a>
      &nbsp;-&nbsp;
      <a href="http://www.fmi.uni-passau.de/">FMI</a>
      &nbsp;-&nbsp;
      <a href="http://www.fmi.uni-passau.de/fmi/lehrstuehle/brandenburg/">Theoretical
	Computer Science</a>
    </p>
  <div class="copyright">
      Design &copy; 2002, 2003 <a href="mailto:raitner@fmi.uni-passau.de">Marcus Raitner</a>,  University of Passau 
  </div>
</body>
</html>
